home *** CD-ROM | disk | FTP | other *** search
- /************************************************************************
- * *
- * Forms is a library for building up dialogue and interaction boxes. *
- * It is based of the Silicon Graphics Graphical Library. *
- * *
- * This software is public domain. It may not be resold. *
- * *
- * Written by: Mark Overmars *
- * Department of Computer Science *
- * University of Utrecht *
- * P.O. Box 80.089 *
- * 3508 TB Utrecht, the Netherlands *
- * Email: markov@cs.ruu.nl *
- * *
- * Version 2.0 a *
- * Date: Nov 26, 1991 *
- ************************************************************************/
-
- #ifndef __FORMS_H__
- #define __FORMS_H__
-
- #if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
- extern "C" {
- #endif
-
- #include <stddef.h>
- #include <gl/gl.h>
-
- /************ The type OBJECT ************/
-
- #define FL_LABEL_SIZE 64
- #define FL_SHORTCUT_SIZE 32
-
- struct forms;
-
- typedef struct objs {
- int objclass; /* What type of object */
- int type; /* The type within the class */
- int boxtype; /* The type of the bounding box */
- float x,y,w,h; /* The bounding box */
- int col1,col2; /* Two possible colors */
-
- char label[FL_LABEL_SIZE]; /* The label */
- int align; /* Label or text alignment */
- int lcol; /* Color of the label */
- float lsize; /* Size of the label */
- int lstyle; /* Style of the text label */
-
- char shortcut[FL_SHORTCUT_SIZE]; /* The list of shortcuts */
-
- int (*handle)(struct objs *, int, float, float, char);
- /* Handling procedure. */
-
- int *spec; /* pointer to special stuff for object */
-
- int pushed; /* wheter pushed */
- int focus; /* wheter focussed */
- int belowmouse; /* Whether currently below the mouse */
-
- int frozen; /* Whether it will be redrawn */
- int active; /* Whether active */
- int input; /* Whether receiving input */
- int visible; /* Whether being displayed */
- int radio; /* Whether a radio object */
- int automatic; /* Whether this object gets timer events */
- void (*object_call_back)(struct objs *, long);
- /* The call-back routine */
- long argument; /* Its argument */
-
- struct objs *next; /* Next object in the form */
- struct objs *prev; /* Previous object in the form */
- struct forms *form; /* Form to which object belong */
- } FL_OBJECT;
-
- /************ The type FORM ************/
-
- typedef struct forms {
- long window; /* Window of the form */
- float w,h; /* The size of the form */
- long x,y; /* Position of form on screen */
-
- int deactivated; /* Whether deactivated */
- int visible; /* Whether being displayed */
- int frozen; /* When true no redraws are performed */
-
- int doublebuf; /* Whether in double buffer mode */
-
- void (*form_call_back)(struct objs *);
- /* The call-back routine */
-
- struct objs *first; /* First object in the form */
- struct objs *last; /* Last object in the form */
-
- struct objs *focusobj; /* Object to which input is directed */
- } FL_FORM;
-
- /************ General Constants ************/
-
- #ifndef NULL
- #define NULL 0
- #endif
-
- #ifndef FALSE
- #define FALSE 0
- #endif
-
- #ifndef TRUE
- #define TRUE 1
- #endif
-
- /***** Placement *****/
-
- #define FL_PLACE_FREE 0
- #define FL_PLACE_SIZE 1
- #define FL_PLACE_ASPECT 2
- #define FL_PLACE_MOUSE 3
- #define FL_PLACE_CENTER 4
- #define FL_PLACE_POSITION 5
-
- /***** Finds *****/
-
- #define FL_FIND_INPUT 0
- #define FL_FIND_AUTOMATIC 1
- #define FL_FIND_MOUSE 2
-
- /***** Special Objects *****/
-
- #define FL_BEGIN_GROUP 10000
- #define FL_END_GROUP 20000
-
- /***** Alignments *****/
-
- #define FL_ALIGN_TOP 0
- #define FL_ALIGN_BOTTOM 1
- #define FL_ALIGN_LEFT 2
- #define FL_ALIGN_RIGHT 3
- #define FL_ALIGN_CENTER 4
-
- /***** Bounding boxes *****/
-
- #define FL_NO_BOX 0
- #define FL_UP_BOX 1
- #define FL_DOWN_BOX 2
- #define FL_FLAT_BOX 3
- #define FL_BORDER_BOX 4
- #define FL_SHADOW_BOX 5
- #define FL_FRAME_BOX 6
- #define FL_ROUNDED_BOX 7
- #define FL_RFLAT_BOX 8
- #define FL_RSHADOW_BOX 9
-
- /***** Boundary Colors *****/
-
- #define FL_TOP_BOUND_COL 51
- #define FL_LEFT_BOUND_COL 55
- #define FL_BOT_BOUND_COL 40
- #define FL_RIGHT_BOUND_COL 35
-
- #define FL_COL1 47
- #define FL_MCOL 49
- #define FL_LCOL 0
-
- #define FL_BOUND_WIDTH 3.0
-
- /***** Events *****/
-
- #define FL_DRAW 0
- #define FL_PUSH 1
- #define FL_RELEASE 2
- #define FL_ENTER 3
- #define FL_LEAVE 4
- #define FL_MOUSE 5
- #define FL_FOCUS 6
- #define FL_UNFOCUS 7
- #define FL_KEYBOARD 8
- #define FL_STEP 9
- #define FL_MOVE 10
-
- /***** Font *****/
-
- #define FL_FONT_NAME "Helvetica"
- #define FL_FONT_BOLDNAME "Helvetica-Bold"
- #define FL_FONT_ITALICNAME "Helvetica-Oblique"
- #define FL_FONT_FIXEDNAME "Courier"
- #define FL_FONT_ICONNAME "Icon"
-
- #define FL_SMALL_FONT 8.0
- #define FL_NORMAL_FONT 11.0
- #define FL_LARGE_FONT 20.0
-
- #define FL_NORMAL_STYLE 0
- #define FL_BOLD_STYLE 1
- #define FL_ITALIC_STYLE 2
- #define FL_FIXED_STYLE 3
- #define FL_ENGRAVED_STYLE 4
- #define FL_ICON_STYLE 5
-
-
- /************ General Routines ************/
-
- /***** In objects.c *****/
-
- typedef int (*FL_HANDLEPTR)(FL_OBJECT *, int , float, float, char);
-
- FL_FORM *fl_make_form(float,float);
- FL_OBJECT *fl_make_object(int,int,float,float,float,float,char [], FL_HANDLEPTR);
-
- void fl_free_object(FL_OBJECT *);
- void fl_free_form(FL_FORM *);
-
- void fl_add_object(FL_FORM *, FL_OBJECT*);
- void fl_insert_object(FL_OBJECT *, FL_OBJECT*);
- void fl_delete_object(FL_OBJECT *);
-
- void fl_set_object_align(FL_OBJECT *, int);
- void fl_set_object_boxtype(FL_OBJECT *, int);
- void fl_set_object_color(FL_OBJECT *, int, int);
- void fl_set_object_label(FL_OBJECT *, char []);
- void fl_set_object_lcol(FL_OBJECT *, int);
- void fl_set_object_lsize(FL_OBJECT *, float );
- void fl_set_object_lstyle(FL_OBJECT *, int);
-
- void fl_show_object(FL_OBJECT *);
- void fl_hide_object(FL_OBJECT *);
-
- void fl_set_object_focus(FL_FORM *, FL_OBJECT *);
-
- void fl_set_object_shortcut(FL_OBJECT *, char []);
-
- FL_OBJECT *fl_find_object(FL_OBJECT *, int, float, float);
- FL_OBJECT *fl_find_first(FL_FORM *, int, float, float);
- FL_OBJECT *fl_find_last(FL_FORM *, int, float, float);
-
- void fl_redraw_object(FL_OBJECT *);
- void fl_redraw_form(FL_FORM *);
-
- void fl_freeze_object(FL_OBJECT *);
- void fl_unfreeze_object(FL_OBJECT *);
- void fl_freeze_form(FL_FORM *);
- void fl_unfreeze_form(FL_FORM *);
-
- void fl_handle_object(FL_OBJECT *, int, float, float, char);
- int fl_handle_object_direct(FL_OBJECT *, int, float, float, char);
-
- /***** In forms.c *****/
-
- extern FL_FORM *fl_current_form;
-
- FL_FORM *fl_bgn_form(int, float, float);
- void fl_end_form(void);
- void fl_addto_form(FL_FORM *);
-
- FL_OBJECT *fl_bgn_group(void);
- FL_OBJECT *fl_end_group(void);
-
- void fl_set_form_position(FL_FORM *, long, long);
- long fl_show_form(FL_FORM *, int, int, char *);
- void fl_hide_form(FL_FORM *);
-
- FL_OBJECT *fl_do_forms(void);
- FL_OBJECT *fl_check_forms(void);
- FL_OBJECT *fl_do_only_forms(void);
- FL_OBJECT *fl_check_only_forms(void);
-
- void fl_activate_form(FL_FORM *);
- void fl_deactivate_form(FL_FORM *);
- void fl_activate_all_forms();
- void fl_deactivate_all_forms();
-
- /***** In events.c *****/
-
- extern FL_OBJECT *FL_EVENT;
-
- typedef void (*FL_CALLBACKPTR)(FL_OBJECT *, long);
- typedef void (*FL_FORMCALLBACKPTR)(FL_OBJECT *);
- typedef void (*FL_EVENTCALLBACKPTR)(short, short);
-
- void fl_init_events();
-
- void fl_set_call_back(FL_OBJECT *, FL_CALLBACKPTR, long);
- void fl_set_event_call_back(FL_EVENTCALLBACKPTR);
- void fl_set_form_call_back(FL_FORM *, FL_FORMCALLBACKPTR);
-
- void fl_qdevice(Device);
- void fl_unqdevice(Device);
- int fl_isqueued(Device);
- long fl_qtest(void);
- long fl_qread(short *);
- long fl_blkqread(short *, short);
- void fl_qreset(void);
- void fl_qenter(short,short);
- void fl_tie(Device, Device, Device);
-
- void fl_treat_user_event(void);
-
- FL_OBJECT *fl_object_qtest(void);
- FL_OBJECT *fl_object_qread(void);
- void fl_object_qenter(FL_OBJECT *);
-
- /***** In goodies.c *****/
-
- long fl_show_buttonbox(void);
- void fl_hide_buttonbox(void);
- void fl_set_buttonbox_label(int, char []);
-
- void fl_show_message(char [], char[], char []);
- int fl_show_question(char [], char[], char []);
- int fl_show_choice(char [], char[], char [], int,char [], char[], char []);
- char *fl_show_input(char[], char[]);
-
- int fl_show_colormap(int);
-
- /***** In fselect.c *****/
-
- char *fl_show_file_selector(char [], char [], char [], char []);
-
- char *fl_get_directory();
- char *fl_get_pattern();
- char *fl_get_filename();
-
- /***** In draw.c *****/
-
- void fl_get_mouse(float *, float *);
-
- void fl_set_clipping(float, float, float, float);
- void fl_unset_clipping(void);
-
- void fl_init_fonts();
- void fl_set_font(char [], char [], char [], char[]);
- float fl_get_char_height(float, int);
- float fl_get_char_width(float, int, char);
- float fl_get_string_width(float, int, char []);
-
- void fl_init_colormap();
- void fl_color(int);
- void fl_mapcolor(int, short, short, short);
- void fl_getmcolor(int, short *, short *, short *);
-
- void fl_line(float, float, float, float, int);
- void fl_rect(float, float, float, float, int);
- void fl_bound(float, float, float, float, int);
- void fl_rectbound(float, float, float, float, int);
-
- void fl_drw_box(int ,float, float, float, float, int,float);
- void fl_drw_text(int, float, float, float, float, int, float, int, char[]);
- void fl_drw_text_beside(int, float, float, float, float, int, float, int, char[]);
- void fl_drw_text_cursor(int, float, float, float, float, int, float, int, char[], int, int);
-
- /***** In symbols.c *****/
-
- typedef void (*FL_DRAWPTR)(int);
-
- void fl_init_symbols();
-
- int fl_add_symbol(char [], FL_DRAWPTR, int);
- int fl_draw_symbol(char [], float, float, float,float, int);
-
- /***** In support.c *****/
-
- extern int fl_rgbmode;
- extern int fl_doublebuf;
-
- void fl_init();
- void fl_set_graphics_mode(int, int);
-
- void fl_show_errors(int);
- void fl_error(char [], char []);
-
- void *fl_malloc(size_t);
-
- /************************* The Classes ***********************/
-
- /************ Object Class: Bitmap ************/
-
- /***** Class *****/
-
- #define FL_BITMAP 3
-
- /***** Types *****/
-
- #define FL_NORMAL_BITMAP 0
-
- /***** Defaults *****/
-
- #define FL_BITMAP_BOXTYPE FL_NO_BOX
- #define FL_BITMAP_COL1 0
- #define FL_BITMAP_COL2 FL_COL1
- #define FL_BITMAP_LCOL FL_LCOL
- #define FL_BITMAP_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_BITMAP_MAXSIZE 128*128
- #define FL_BITMAP_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_bitmap(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_bitmap(int, float, float, float, float, char []);
-
- void fl_set_bitmap(FL_OBJECT *, int, int, char *);
-
-
- /************ Object Class: Box ************/
-
- /***** Class *****/
-
- #define FL_BOX 1
-
- /***** Types *****/
-
- /* See the bouding boxes */
-
- /***** Defaults *****/
-
- #define FL_BOX_BOXTYPE FL_UP_BOX
- #define FL_BOX_COL1 FL_COL1
- #define FL_BOX_LCOL FL_LCOL
- #define FL_BOX_ALIGN FL_ALIGN_CENTER
-
- /***** Others *****/
-
- #define FL_BOX_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_box(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_box(int, float, float, float, float, char []);
-
- /************ Object Class: Browser ************/
-
- /***** Class *****/
-
- #define FL_BROWSER 71
-
- /***** Types *****/
-
- #define FL_NORMAL_BROWSER 0
- #define FL_SELECT_BROWSER 1
- #define FL_HOLD_BROWSER 2
- #define FL_MULTI_BROWSER 3
-
- /***** Defaults *****/
-
- #define FL_BROWSER_BOXTYPE FL_DOWN_BOX
- #define FL_BROWSER_COL1 FL_COL1
- #define FL_BROWSER_COL2 3
- #define FL_BROWSER_LCOL FL_LCOL
- #define FL_BROWSER_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_BROWSER_SLCOL FL_COL1
- #define FL_BROWSER_BW FL_BOUND_WIDTH
- #define FL_BROWSER_LINELENGTH 128
- #define FL_BROWSER_MAXLINE 512
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_browser(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_browser(int, float, float, float, float, char []);
-
- void fl_set_browser_topline(FL_OBJECT *, int);
- void fl_clear_browser(FL_OBJECT *);
- void fl_add_browser_line(FL_OBJECT *, char []);
- void fl_addto_browser(FL_OBJECT *, char []);
- void fl_insert_browser_line(FL_OBJECT *, int , char []);
- void fl_delete_browser_line(FL_OBJECT *, int );
- void fl_replace_browser_line(FL_OBJECT *, int , char []);
- char *fl_get_browser_line(FL_OBJECT *, int);
- int fl_load_browser(FL_OBJECT *, char []);
- int fl_get_browser_maxline(FL_OBJECT *);
- void fl_select_browser_line(FL_OBJECT *, int );
- void fl_deselect_browser_line(FL_OBJECT *, int );
- void fl_deselect_browser(FL_OBJECT *);
- int fl_isselected_browser_line(FL_OBJECT *, int );
- int fl_get_browser(FL_OBJECT *);
- void fl_set_browser_fontsize(FL_OBJECT *, float);
- void fl_set_browser_fontstyle(FL_OBJECT *, int);
- void fl_set_browser_specialkey(FL_OBJECT *, char);
- /************ Object Class: Button ************/
-
- /***** Class *****/
-
- #define FL_BUTTON 11
-
- /***** Types *****/
-
- #define FL_NORMAL_BUTTON 0
- #define FL_PUSH_BUTTON 1
- #define FL_RADIO_BUTTON 2
- #define FL_HIDDEN_BUTTON 3
- #define FL_TOUCH_BUTTON 4
- #define FL_INOUT_BUTTON 5
- #define FL_RETURN_BUTTON 6
- #define FL_HIDDEN_RET_BUTTON 7
-
- /***** Defaults *****/
-
- #define FL_BUTTON_BOXTYPE FL_UP_BOX
- #define FL_BUTTON_COL1 FL_COL1
- #define FL_BUTTON_COL2 FL_COL1
- #define FL_BUTTON_LCOL FL_LCOL
- #define FL_BUTTON_ALIGN FL_ALIGN_CENTER
-
- /***** Others *****/
-
- #define FL_BUTTON_MCOL1 FL_MCOL
- #define FL_BUTTON_MCOL2 FL_MCOL
- #define FL_BUTTON_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_button(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_button(int, float, float, float, float, char []);
-
- int fl_get_button(FL_OBJECT *);
- void fl_set_button(FL_OBJECT *, int);
-
- void fl_set_button_shortcut(FL_OBJECT *, char []);
-
- /************ Object Class: Chart ************/
-
- /***** Class *****/
-
- #define FL_CHART 4
-
- /***** Types *****/
-
- #define FL_BAR_CHART 0
- #define FL_HORBAR_CHART 1
- #define FL_LINE_CHART 2
- #define FL_FILLED_CHART 3
- #define FL_SPIKE_CHART 4
- #define FL_PIE_CHART 5
- #define FL_SPECIALPIE_CHART 6
-
- /***** Defaults *****/
-
- #define FL_CHART_BOXTYPE FL_BORDER_BOX
- #define FL_CHART_COL1 FL_COL1
- #define FL_CHART_LCOL FL_LCOL
- #define FL_CHART_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_CHART_BW FL_BOUND_WIDTH
- #define FL_CHART_MAX 128
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_chart(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_chart(int, float, float, float, float, char []);
-
- void fl_clear_chart(FL_OBJECT *);
- void fl_add_chart_value(FL_OBJECT *, float, char [], int);
- void fl_insert_chart_value(FL_OBJECT *, int, float, char [], int);
- void fl_replace_chart_value(FL_OBJECT *, int, float, char [], int);
- void fl_set_chart_bounds(FL_OBJECT *, float, float);
- void fl_set_chart_maxnumb(FL_OBJECT *, int);
- void fl_set_chart_autosize(FL_OBJECT *, int);
- /************ Object Class: Choice ************/
-
- /***** Class *****/
-
- #define FL_CHOICE 42
-
- /***** Types *****/
-
- #define FL_NORMAL_CHOICE 0
-
- /***** Defaults *****/
-
- #define FL_CHOICE_BOXTYPE FL_DOWN_BOX
- #define FL_CHOICE_COL1 FL_COL1
- #define FL_CHOICE_COL2 FL_LCOL
- #define FL_CHOICE_LCOL FL_LCOL
- #define FL_CHOICE_ALIGN FL_ALIGN_LEFT
-
- /***** Others *****/
-
- #define FL_CHOICE_BW FL_BOUND_WIDTH
- #define FL_CHOICE_MCOL FL_MCOL
- #define FL_CHOICE_MAXITEMS 128
- #define FL_CHOICE_MAXSTR 64
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_choice(int ,float ,float ,float ,float ,char []);
- FL_OBJECT *fl_add_choice(int ,float ,float ,float ,float ,char []);
-
- void fl_clear_choice(FL_OBJECT *);
- void fl_addto_choice(FL_OBJECT *, char []);
- void fl_replace_choice(FL_OBJECT *, int , char []);
- void fl_delete_choice(FL_OBJECT *, int );
- void fl_set_choice(FL_OBJECT *, int );
- int fl_get_choice(FL_OBJECT *);
- char *fl_get_choice_text(FL_OBJECT *);
- void fl_set_choice_fontsize(FL_OBJECT *, float);
- void fl_set_choice_fontstyle(FL_OBJECT *, int);
-
-
- /************ Object Class: Clock ************/
-
- /***** Class *****/
-
- #define FL_CLOCK 61
-
- /***** Types *****/
-
- #define FL_SQUARE_CLOCK 0
- #define FL_ROUND_CLOCK 1
-
- /***** Defaults *****/
-
- #define FL_CLOCK_BOXTYPE FL_UP_BOX
- #define FL_CLOCK_COL1 37
- #define FL_CLOCK_COL2 42
- #define FL_CLOCK_LCOL FL_LCOL
- #define FL_CLOCK_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_CLOCK_TOPCOL FL_COL1
- #define FL_CLOCK_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_clock(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_clock(int, float, float, float, float, char []);
-
- void fl_get_clock(FL_OBJECT *,int * ,int *, int *);
-
- #ifndef COLORWHEEL_H
- #define COLORWHEEL_H
-
- #define FL_COLORWHEEL_BW FL_BUTTON_BW
-
- #define FL_COLORWHEEL_CURSOR .025
-
- #define FL_COLORWHEEL 1492
- #define FL_NORMAL_COLORWHEEL 0
-
- FL_OBJECT *fl_create_colorwheel(int type, float x, float y, float w,
- float h, char label[]);
- FL_OBJECT *fl_add_colorwheel(int type, float x, float y, float w, float h,
- char label[]);
-
- void fl_set_colorwheel(FL_OBJECT *obj, float *color);
- void fl_set_colorwheel_intensity(FL_OBJECT *obj, float intensity);
- void fl_set_colorwheel_alpha(FL_OBJECT *obj, float alpha);
-
- void fl_get_colorwheel(FL_OBJECT *obj, float *color);
- float fl_get_colorwheel_intensity(FL_OBJECT *obj);
- float fl_get_colorwheel_alpha(FL_OBJECT *obj);
-
- #endif
- /************ Object Class: Counter ************/
-
- /***** Class *****/
-
- #define FL_COUNTER 25
-
- /***** Types *****/
-
- #define FL_NORMAL_COUNTER 0
- #define FL_SIMPLE_COUNTER 1
-
- /***** Defaults *****/
-
- #define FL_COUNTER_BOXTYPE FL_UP_BOX
- #define FL_COUNTER_COL1 FL_COL1
- #define FL_COUNTER_COL2 4
- #define FL_COUNTER_LCOL FL_LCOL
- #define FL_COUNTER_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_COUNTER_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_counter(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_counter(int, float, float, float, float, char []);
-
- void fl_set_counter_value(FL_OBJECT *, float);
- void fl_set_counter_bounds(FL_OBJECT *, float, float);
- void fl_set_counter_step(FL_OBJECT *, float, float);
- void fl_set_counter_precision(FL_OBJECT *, int);
- float fl_get_counter_value(FL_OBJECT *);
-
- void fl_set_counter_return(FL_OBJECT *, int);
- /************ Object Class: Dial ************/
-
- /***** Class *****/
-
- #define FL_DIAL 22
-
- /***** Types *****/
-
- #define FL_NORMAL_DIAL 0
- #define FL_LINE_DIAL 1
-
- /***** Defaults *****/
-
- #define FL_DIAL_BOXTYPE FL_NO_BOX
- #define FL_DIAL_COL1 FL_COL1
- #define FL_DIAL_COL2 37
- #define FL_DIAL_LCOL FL_LCOL
- #define FL_DIAL_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_DIAL_TOPCOL FL_COL1
- #define FL_DIAL_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_dial(int ,float, float, float, float, char []);
- FL_OBJECT *fl_add_dial(int ,float, float, float, float, char []);
-
- void fl_set_dial_value(FL_OBJECT *, float);
- float fl_get_dial_value(FL_OBJECT *);
- void fl_set_dial_bounds(FL_OBJECT *, float, float);
- void fl_get_dial_bounds(FL_OBJECT *, float *, float*);
-
- void fl_set_dial_step(FL_OBJECT *, float);
- void fl_set_dial_return(FL_OBJECT *, int);
- #ifndef FL_EDIT
-
- /************ Object Class: edit ************/
-
- /***** Class *****/
-
- #define FL_EDIT 1026
-
- /***** Types *****/
-
- #define FL_NORMAL_EDIT 0
-
- /***** Defaults *****/
-
- #define FL_EDIT_BOXTYPE FL_DOWN_BOX
- #define FL_EDIT_COL1 13
- #define FL_EDIT_COL2 5
- #define FL_EDIT_LCOL FL_LCOL
- #define FL_EDIT_ALIGN FL_ALIGN_LEFT
- #define FL_EDIT_FONT FL_FIXED_STYLE
-
- /***** Others *****/
-
- #define FL_EDIT_TCOL FL_LCOL
- #define FL_EDIT_CCOL 4
- #define FL_EDIT_BW FL_BOUND_WIDTH
- #define FL_EDIT_MAX 128
-
- /***** Routines *****/
-
- extern FL_OBJECT *fl_create_edit(int, float, float, float, float, char []);
- extern FL_OBJECT *fl_add_edit(int, float, float, float, float, char []);
-
- extern void fl_set_edit_color(FL_OBJECT *, int, int);
- extern char *fl_get_edit_line(FL_OBJECT *,int);
- extern void fl_set_edit_return(FL_OBJECT *, int);
- extern void fl_add_edit_line(FL_OBJECT *, char *);
- extern void fl_addto_edit(FL_OBJECT *, char *);
- extern void fl_insert_edit_line(FL_OBJECT *, char *);
- extern void fl_load_edit(FL_OBJECT *, char *);
- #endif /* FL_EDIT */
- /************ Object Class: Fouraxis (unit vector in 4-space) ************/
-
- /***** Class *****/
-
- #define FL_FOURAXIS 1034
-
- /***** Types *****/
-
- #define FL_NORMAL_FOURAXIS 0
- #define FL_CIRCLE_FOURAXIS 1
- #define FL_SPOKED_FOURAXIS 2
-
- /***** Defaults *****/
-
- #define FL_FOURAXIS_BOXTYPE FL_DOWN_BOX
- #define FL_FOURAXIS_COL1 FL_COL1
- #define FL_FOURAXIS_COL2 1
- #define FL_FOURAXIS_LCOL FL_LCOL
- #define FL_FOURAXIS_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_FOURAXIS_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_fouraxis(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_fouraxis(int, float, float, float, float, char []);
-
- /* Set direction vector. w chosen to form unit vector */
- void fl_set_fouraxis(FL_OBJECT *, float x, float y, float z);
- void fl_get_fouraxis(FL_OBJECT *, float *xp, float *yp, float *zp, float *wp);
- /* Also maintains an orthonormal basis matrix, with column 3
- * (w) a unit vector in the chosen direction
- * and other columns chosen appropriately.
- */
- void fl_get_fouraxis_basis(FL_OBJECT *, float * /* really float[4][4] */);
- void fl_set_fouraxis_basis(FL_OBJECT *, float * /* really float[4][4] */);
-
- void fl_set_fouraxis_return(FL_OBJECT *, int);
-
- #ifndef FL_FRACT
-
- /************ Object Class: Impcount ************/
-
- /***** Class *****/
-
- #define FL_FRACT 1025
-
- /***** Types *****/
-
- #define FL_NORMAL_FRACT 0
- #define FL_SIMPLE_FRACT 1
-
- /***** Defaults *****/
-
- #define FL_FRACT_BOXTYPE FL_UP_BOX
- #define FL_FRACT_COL1 FL_COL1
- #define FL_FRACT_COL2 4
- #define FL_FRACT_LCOL FL_LCOL
- #define FL_FRACT_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_FRACT_COL3 13
- #define FL_FRACT_COL4 5
- #define FL_FRACT_BW FL_BOUND_WIDTH
- #define FL_FRACT_MAX 128
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_fract(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_fract(int, float, float, float, float, char []);
-
- void fl_set_fract_value(FL_OBJECT *, float);
- void fl_set_fract_bounds(FL_OBJECT *, float, float);
- void fl_set_fract_step(FL_OBJECT *, float, float);
- void fl_set_fract_precision(FL_OBJECT *, int);
- float fl_get_fract_value(FL_OBJECT *);
- void fl_set_fract_color(FL_OBJECT *, int, int);
-
- void fl_set_fract_return(FL_OBJECT *, int);
-
- #endif
- /************ Object Class: Free ************/
-
- /***** Class *****/
-
- #define FL_FREE 101
-
- /***** Types *****/
-
- #define FL_NORMAL_FREE 1
- #define FL_SLEEPING_FREE 2
- #define FL_INPUT_FREE 3
- #define FL_CONTINUOUS_FREE 4
- #define FL_ALL_FREE 5
-
- /***** Defaults *****/
-
- /***** Others *****/
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_free(int, float, float, float, float, char [], FL_HANDLEPTR);
- FL_OBJECT *fl_add_free(int, float, float, float, float, char [], FL_HANDLEPTR);
-
- /************ Object Class: Input ************/
-
- /***** Class *****/
-
- #define FL_INPUT 31
-
- /***** Types *****/
-
- #define FL_NORMAL_INPUT 0
- #define FL_FLOAT_INPUT 1
- #define FL_INT_INPUT 2
- #define FL_HIDDEN_INPUT 3
-
- /***** Defaults *****/
-
- #define FL_INPUT_BOXTYPE FL_DOWN_BOX
- #define FL_INPUT_COL1 13
- #define FL_INPUT_COL2 5
- #define FL_INPUT_LCOL FL_LCOL
- #define FL_INPUT_ALIGN FL_ALIGN_LEFT
-
- /***** Others *****/
-
- #define FL_INPUT_TCOL FL_LCOL
- #define FL_INPUT_CCOL 4
- #define FL_INPUT_BW FL_BOUND_WIDTH
- #define FL_INPUT_MAX 128
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_input(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_input(int, float, float, float, float, char []);
-
- void fl_set_input(FL_OBJECT *, char []);
- void fl_set_input_color(FL_OBJECT *, int, int);
- char *fl_get_input(FL_OBJECT *);
- void fl_set_input_return(FL_OBJECT *, int);
-
- /************ Object Class: Lightbutton ************/
-
- /***** Class *****/
-
- #define FL_LIGHTBUTTON 12
-
- /***** Types *****/
-
- /* Same types as for buttons */
-
- /***** Defaults *****/
-
- #define FL_LIGHTBUTTON_BOXTYPE FL_UP_BOX
- #define FL_LIGHTBUTTON_COL1 39
- #define FL_LIGHTBUTTON_COL2 3
- #define FL_LIGHTBUTTON_LCOL FL_LCOL
- #define FL_LIGHTBUTTON_ALIGN FL_ALIGN_CENTER
-
- /***** Others *****/
-
- #define FL_LIGHTBUTTON_TOPCOL FL_COL1
- #define FL_LIGHTBUTTON_MCOL FL_MCOL
- #define FL_LIGHTBUTTON_BW1 FL_BOUND_WIDTH
- #define FL_LIGHTBUTTON_BW2 FL_BOUND_WIDTH/2.0
- #define FL_LIGHTBUTTON_MINSIZE 12.0
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_lightbutton(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_lightbutton(int, float, float, float, float, char []);
-
- /************ Object Class: Menu ************/
-
- /***** Class *****/
-
- #define FL_MENU 41
-
- /***** Types *****/
-
- #define FL_TOUCH_MENU 0
- #define FL_PUSH_MENU 1
-
- /***** Defaults *****/
-
- #define FL_MENU_BOXTYPE FL_BORDER_BOX
- #define FL_MENU_COL1 55
- #define FL_MENU_COL2 37
- #define FL_MENU_LCOL FL_LCOL
- #define FL_MENU_ALIGN FL_ALIGN_CENTER
-
- /***** Others *****/
-
- #define FL_MENU_BW FL_BOUND_WIDTH
- #define FL_MENU_MAX 300
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_menu(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_menu(int, float, float, float, float, char []);
-
- void fl_set_menu(FL_OBJECT *, char []);
- void fl_addto_menu(FL_OBJECT *, char []);
- long fl_get_menu(FL_OBJECT *);
-
- /************ Object Class: Positioner ************/
-
- /***** Class *****/
-
- #define FL_POSITIONER 23
-
- /***** Types *****/
-
- #define FL_NORMAL_POSITIONER 0
-
- /***** Defaults *****/
-
- #define FL_POSITIONER_BOXTYPE FL_DOWN_BOX
- #define FL_POSITIONER_COL1 FL_COL1
- #define FL_POSITIONER_COL2 1
- #define FL_POSITIONER_LCOL FL_LCOL
- #define FL_POSITIONER_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_POSITIONER_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_positioner(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_positioner(int, float, float, float, float, char []);
-
- void fl_set_positioner_xvalue(FL_OBJECT *, float);
- float fl_get_positioner_xvalue(FL_OBJECT *);
- void fl_set_positioner_xbounds(FL_OBJECT *, float, float);
- void fl_get_positioner_xbounds(FL_OBJECT *, float *, float *);
- void fl_set_positioner_yvalue(FL_OBJECT *, float);
- float fl_get_positioner_yvalue(FL_OBJECT *);
- void fl_set_positioner_ybounds(FL_OBJECT *, float, float);
- void fl_get_positioner_ybounds(FL_OBJECT *, float *, float *);
- void fl_set_positioner_xstep(FL_OBJECT *, float);
- void fl_set_positioner_ystep(FL_OBJECT *, float);
-
-
- void fl_set_positioner_return(FL_OBJECT *, int);
- /************ Object Class: Roundbutton ************/
-
- /***** Class *****/
-
- #define FL_ROUNDBUTTON 13
-
- /***** Types *****/
-
- /* Same types as for buttons */
-
- /***** Defaults *****/
-
- #define FL_ROUNDBUTTON_BOXTYPE FL_NO_BOX
- #define FL_ROUNDBUTTON_COL1 7
- #define FL_ROUNDBUTTON_COL2 3
- #define FL_ROUNDBUTTON_LCOL FL_LCOL
- #define FL_ROUNDBUTTON_ALIGN FL_ALIGN_CENTER
-
- /***** Others *****/
-
- #define FL_ROUNDBUTTON_TOPCOL FL_COL1
- #define FL_ROUNDBUTTON_MCOL FL_MCOL
- #define FL_ROUNDBUTTON_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_roundbutton(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_roundbutton(int, float, float, float, float, char []);
-
-
- /************ Object Class: Slider ************/
-
- /***** Class *****/
-
- #define FL_SLIDER 21
- #define FL_VALSLIDER 24
-
- /***** Types *****/
-
- #define FL_VERT_SLIDER 0
- #define FL_HOR_SLIDER 1
- #define FL_VERT_FILL_SLIDER 2
- #define FL_HOR_FILL_SLIDER 3
- #define FL_VERT_NICE_SLIDER 4
- #define FL_HOR_NICE_SLIDER 5
-
- /***** Defaults *****/
-
- #define FL_SLIDER_BOXTYPE FL_DOWN_BOX
- #define FL_SLIDER_COL1 FL_COL1
- #define FL_SLIDER_COL2 FL_COL1
- #define FL_SLIDER_LCOL FL_LCOL
- #define FL_SLIDER_ALIGN FL_ALIGN_BOTTOM
-
- /***** Others *****/
-
- #define FL_SLIDER_BW1 FL_BOUND_WIDTH
- #define FL_SLIDER_BW2 FL_BOUND_WIDTH*0.75
-
- #define FL_SLIDER_FINE 0.05
- #define FL_SLIDER_WIDTH 0.08
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_slider(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_slider(int, float, float, float, float, char []);
-
- FL_OBJECT *fl_create_valslider(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_valslider(int, float, float, float, float, char []);
-
- void fl_set_slider_value(FL_OBJECT *, float);
- float fl_get_slider_value(FL_OBJECT *);
- void fl_set_slider_bounds(FL_OBJECT *, float, float);
- void fl_get_slider_bounds(FL_OBJECT *, float *, float *);
-
- void fl_set_slider_return(FL_OBJECT *, int);
-
- void fl_set_slider_step(FL_OBJECT *, float);
- void fl_set_slider_size(FL_OBJECT *, float);
- void fl_set_slider_precision(FL_OBJECT *, int);
- /************ Object Class: Text ************/
-
- /***** Class *****/
-
- #define FL_TEXT 2
-
- /***** Types *****/
-
- #define FL_NORMAL_TEXT 0
-
- /***** Defaults *****/
-
- #define FL_TEXT_BOXTYPE FL_NO_BOX
- #define FL_TEXT_COL1 FL_COL1
- #define FL_TEXT_LCOL FL_LCOL
- #define FL_TEXT_ALIGN FL_ALIGN_LEFT
-
- /***** Others *****/
-
- #define FL_TEXT_BW FL_BOUND_WIDTH
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_text(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_text(int, float, float, float, float, char []);
-
- /************ Object Class: Timer ************/
-
- /***** Class *****/
-
- #define FL_TIMER 62
-
- /***** Types *****/
-
- #define FL_NORMAL_TIMER 0
- #define FL_VALUE_TIMER 1
- #define FL_HIDDEN_TIMER 2
-
- /***** Defaults *****/
-
- #define FL_TIMER_BOXTYPE FL_DOWN_BOX
- #define FL_TIMER_COL1 FL_COL1
- #define FL_TIMER_COL2 1
- #define FL_TIMER_LCOL FL_LCOL
- #define FL_TIMER_ALIGN FL_ALIGN_CENTER
-
- /***** Others *****/
-
- #define FL_TIMER_BW FL_BOUND_WIDTH
- #define FL_TIMER_BLINKRATE 0.2
-
- /***** Routines *****/
-
- FL_OBJECT *fl_create_timer(int, float, float, float, float, char []);
- FL_OBJECT *fl_add_timer(int, float, float, float, float, char []);
-
- void fl_set_timer(FL_OBJECT *, float);
- float fl_get_timer(FL_OBJECT *);
-
-
- #if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
- }
- #endif
-
- #endif /* define __FORMS_H__ */
-